package com.example.copa_america.dao;

import java.util.ArrayList;

import org.xml.sax.Attributes;
import org.xml.sax.helpers.DefaultHandler;

import com.example.copa_america.model.Sede;

public class ParserSedes extends DefaultHandler {

	private static ArrayList<Sede> arraysedes;
	private Sede sede;
	private StringBuffer buffer = new StringBuffer();

	public ParserSedes() {
	}

	public static ArrayList<Sede> getArraysedes() {
		return arraysedes;
	}

	@Override
	public void startElement(String uri, String localName, String qName,
			Attributes attributes) {
		buffer.setLength(0);
		if (localName.equals("Sedes")) {
			// Comienza el XML, se instancia el array de sedes.
			arraysedes = new ArrayList<Sede>();
		} else if (localName.equals("Sede")) {
			// Comienzan las etiquetas correspondientes a una sede, se instancia
			// una sede.
			sede = new Sede();
			arraysedes.add(sede);
		}
	}

	@Override
	public void endElement(String namespaceURI, String localName, String qName) {

		if (localName.equals("IdSede")) {
			// fin etiqueta IdSede, guardas el id...
			this.sede.setIdsede(buffer.toString());
		} else if (localName.equals("Nombre")) {
			// din de etiqueta nombre, guardas el nombre...
			this.sede.setNombre(buffer.toString());
		} else if (localName.equals("Region")) {
			// fin de etiqueta Region, guardas la region...
			this.sede.setRegion(buffer.toString());
		} else if (localName.equals("Estadio")) {
			// fin de etiqueta Estadio, guardas el estadio...
			this.sede.setEstadio(buffer.toString());
		} else if (localName.equals("Capacidad")) {
			// fin de etiqueta Capacidad, guardas la capacidad...
			this.sede.setCapacidad(buffer.toString());
		} else if (localName.equals("Latitud")) {
			// fin de etiqueta latitud, guardas la latitud.
			this.sede.setLatitud(buffer.toString());
		} else if (localName.equals("Longitud")) {
			// fin de etiqueta longitud, guardas la longitud.
			this.sede.setLongitud(buffer.toString());
		}
	}

	@Override
	public void characters(char[] ch, int start, int length) {
		buffer.append(ch, start, length);
	}

}
